package com.example.zqr.service;
import com.example.zqr.dto.OrderitemDto;
import com.example.zqr.pojo.Orderitem;

import java.util.List;

public interface OrderitemService {
    /**
     * 获取所有订单项的列表。
     *
     * @return 包含所有订单项的列表。
     */
    List<Orderitem> listAll();

    /**
     * 创建一个新的订单项。
     *
     * @param orderitem 要创建的订单项。
     * @return 影响的记录数量，为1表示插入成功。
     */

    int create(Orderitem orderitem);

    /**
     * 根据订单项ID更新订单项信息。
     *
     * @param id        订单项的唯一标识符。
     * @param orderitem 包含更新信息的订单项。
     * @return 影响的记录数量，为1表示更新成功。
     */
    int update(String id, Orderitem orderitem);

    /**
     * 根据订单项ID删除订单项。
     *
     * @param id 订单项的唯一标识符。
     * @return 影响的记录数量，为1表示删除成功。
     */
    int delete(String id);

    /**
     * 分页获取订单项列表。
     *
     * @param pageNum  当前页码。
     * @param pageSize 每页显示的记录数。
     * @return 分页后的订单项列表。
     */
    List<Orderitem> list(int pageNum, int pageSize);

    /**
     * 根据订单项ID获取订单项详情。
     *
     * @param id 订单项的唯一标识符。
     * @return 对应ID的订单项详情。
     */
    Orderitem get(String id);

    /**
     * 根据订单项ID获取订单项的数据传输对象（DTO）。
     *
     * @param id 订单项的唯一标识符。
     * @return 对应ID的订单项的DTO。
     */
    OrderitemDto getDto(String id);
}
